package com.tedu.utill;

import java.sql.*;

/**
 * jdbc工具类
 * 1，写一个工具类，完成对数据库的  操作
 * 10 分    11：05
 *1.加载驱动。。。
 * 2.获取连接
 * 3.获取执行器
 * 4.执行sql
 * 5.解析
 * 6.释放资源
 * */
public class JDBCUtill {
    //加载驱动 一次
    static {
        try {
            //s使用Java反射机制 加载
            Class.forName("com.mysql.jdbc.Driver");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


    /**
     * 获取连接对象
     * @return
     */
    public static Connection getConnection() throws SQLException {

        return DriverManager.getConnection("jdbc:mysql://localhost:3306/newsmanagersystem",
                "root","123456");
    }
    //

    /**
     * 对sql进行预编译，执行器
     * @param connection
     * @param sql
     * @return
     */
    public static PreparedStatement getPreS(Connection connection,String sql) throws SQLException {
        return connection.prepareStatement(sql);
    }

    /**
     *
     执行sql  查询  结果集
     */
    public static ResultSet getResultSet(PreparedStatement preparedStatement) throws SQLException {
        return preparedStatement.executeQuery();
    }

    /**
     * 更新   增删改
     * @param preparedStatement
     * @return
     * @throws SQLException
     */
    public static  int update(PreparedStatement preparedStatement) throws SQLException {
        return preparedStatement.executeUpdate();
    }

    /**
     * 释放资源
     * @param resultSet
     * @param preparedStatement
     * @param connection
     */
    public static void close(ResultSet resultSet,PreparedStatement preparedStatement,Connection connection){
        try{
            resultSet.close();
        }catch (Exception E){

        }
        try{
            preparedStatement.close();
        }catch (Exception E){

        }
        try{
            connection.close();
        }catch (Exception E){

        }
    }


}
